﻿using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using Sinacor.Infra.Service.Security.Services;
using Sinacor.Servico.Bovespa.Corretagem.Service.ServiceContract;

namespace Sinacor.Servico.Bovespa.Corretagem.Service.ServiceImplementation
{

    //Task  : 5617 
    // Data : 13/03/2009
    // Autor:Apsilva
    [SinacorServiceBehavior]
    public class DescontoCliente : IDescontoCliente
    {
        #region IDescontoCliente Members

        public void AlterarDescontoCliente(Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.DescontoClienteRequest request)
        {
            new BusinessLogic.DescontoCliente().AlterarDescontoCliente(new Translator.DataContractToBusinessEntity.DescontoCliente().ToDescontoCliente(request)); 
        }

        public void AlterarDescontoClientes(List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.DescontoClienteRequest> request)
        {
            new BusinessLogic.DescontoCliente().AlterarDescontoClientes(new Translator.DataContractToBusinessEntity.DescontoCliente().ToDescontoCliente(request)); 
        }

        public List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.DescontoClienteResponse> ConsultarDescontosClientes(Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.FiltroDescontoClienteRequest request)
        {
            return  (new Translator.BusinessEntityToDataContract.DescontoCliente().ToDescontoClienteResponse(new BusinessLogic.DescontoCliente().ConsultarDescontosClientes(new Translator.DataContractToBusinessEntity.DescontoCliente().ToFiltroDescontoCliente(request)))); 

        }

        public void ExcluirDescontoCliente(Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.FiltroDescontoClienteRequest request)
        {

            new BusinessLogic.DescontoCliente().ExcluirDescontoCliente(new Translator.DataContractToBusinessEntity.DescontoCliente().ToFiltroDescontoCliente((request))); 
        }

        public void ExcluirDescontoClientes(List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.FiltroDescontoClienteRequest> request)
        {
            new BusinessLogic.DescontoCliente().ExcluirDescontoClientes(new Translator.DataContractToBusinessEntity.DescontoCliente().ToFiltroDescontoCliente((request))); 
        }

        public void ExecutarTransacoesDescontoCliente(List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.DescontoClienteRequest> inclusaoList, List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.FiltroDescontoClienteRequest> exclusaoList, List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.DescontoClienteRequest> alteracaoList)
        {
            new BusinessLogic.DescontoCliente().IncluirDescontoClientes(new Translator.DataContractToBusinessEntity.DescontoCliente().ToDescontoCliente(inclusaoList));
            new BusinessLogic.DescontoCliente().ExcluirDescontoClientes(new Translator.DataContractToBusinessEntity.DescontoCliente().ToFiltroDescontoCliente((exclusaoList)));
            new BusinessLogic.DescontoCliente().AlterarDescontoClientes(new Translator.DataContractToBusinessEntity.DescontoCliente().ToDescontoCliente(alteracaoList)); 
        }

        public void IncluirDescontoCliente(Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.DescontoClienteRequest request)
        {
            new BusinessLogic.DescontoCliente().IncluirDescontoCliente(new Translator.DataContractToBusinessEntity.DescontoCliente().ToDescontoCliente(request));
        }

        public void IncluirDescontoClientes(List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.DescontoClienteRequest> request)
        {
            new BusinessLogic.DescontoCliente().IncluirDescontoClientes(new Translator.DataContractToBusinessEntity.DescontoCliente().ToDescontoCliente(request));
        }

        #endregion
    }
}
